

                                CHAPTER 3

                        HOW TO COMMUNICATE WITH DECTALK



          COMMUNICATING WITH THE DECTALK PC.

                  There are two basic ways to communicate with the DECtalk
          PC. You may treat it as a standard ASCII device  like the DTC01
          (stand-alone DECtalk) connected as either a serial printer or a
          parallel printer. You may also communicate directly with the TSR
          driver DT_DRIV.EXE that supports  the DECtalk. Both types of
          functionality can be present simultaneously so it is possible to
          utilize both paths at the same time. Synchronization of commands
          and data if both paths were utilized would be the responsibility
          of the application.


          Driver Configuration Options.

                  The DT_DRIV.EXE program will take various arguments to
          allow for different desired configurations. The default
          configuration for DECtalk PC is a base address of 340, an IRQ of
          3, and serial trapping enabled on port 3 (COM4). The following
          is a list the arguments that the driver program accepts.



                  -C  D         Sets the com port to number D (1 = COM2,
                                2 = COM3, or 3 = COM4)
                  -L  D         Enables parallel printer trapping (1 =
                                LPT2, 2 = LPT3)

                  -B  XX  Sets the base module address to XX (hex num
                                ber). This command must be used in conjunction
                                with the -I command (below).
                  -I   D        Sets the IRQ to D
                  -R            Removes the driver
                  -V            Calls for verbose printout of information 
                                by the driver.



          Serial and Parallel Communication.

                  The DECtalk driver will trap any interrupts for
          whichever device it has been configured to emulate and  should
          appear to the calling program just like a normal serial or
          parallel card at the BIOS level. Since there is no parallel or
          serial hardware,  baud rate and the like will be emulated and








          echoed, but nothing is done with these. In emulation mode, the
          DECtalk PC will operate just as quickly with baud rate set at
          110 baud as it will at 19.2kbaud. This manual will not address
          how to make BIOS calls to a serial or parallel device as that
          information is generally available and the details are specific
          to the compiler being utilized, rather than to the DECtalk PC.
          For informational purposes, the definitions for the comm port
          bits have been included in the DTTSR.H file.


          Communicating Directly with the TSR.

                  To talk directly with the TSR, the application must
          utilize the 2F multi- threaded interrupt. The call is made using
          a INT86 structure with the ah=DECTALK_ID and the al = the
          function code. The bl contains any parameters that need to be
          passed along with the command. The Status command returns the
          status of the DECtalk and not comm status. The dx contains the
          comm status infomration in this case, so you cab get the comm
          status from the TSR status command. The accompanying program
          examp1.c  provides some simple illustrations of the invocation
          of these commands. As an example of a COM BIOS call, the status
          information was obtained by an INT14 in this example.


                                 DECTALK TSR FUNCTION CODES


          Function                        Codes

          DECTALK_ID                      0xD0
          Id to pass to the multi-threaded interrupt (INT2F)

          INSTALL_CHECK                   0x00
          Is the TSR Installed??

          INSTALLED                       0xFF
          return in al

          DECTALK_EXIT                    0x01
          Remove the TSR and restore things to their original state.

          DECTALK_TEST                    0x02
          Simply return a TSR_SUCESS if anybody is there.

          GET_STATUS                      0x03
          Get current status. If you want comm status information it is
          sitting in the dx registers.

          VOLUME_UP                       0x04
          Increase volume. Increase volume by amount specified in .bl

                        DECtalk PC Voice Control Command Set








          VOLUME_DOWN                     0x05
          Decrease volume.  Decrease volume by amount specified in .bl.

          VOLUME_SET                      0x06
          Set volume. Set volume to amount specified in bl (0-100)

          Reserved                        0x07
          /* allocate memory */

          SEND_CHAR                       0x08
          Send a character. Send the character in the .bl to the DECtalk.

          GET_CHAR                        0x09
          Get a character. Get a character may cause unpredictable results
          if the TSR does         not have a character.


          SEND_BUFF                       0x0a
          Send a character buffer. Send a buffer of information.  Assumes
          a fixed buffer size of 256.  You segment address is in the .dx
          and the offset address  is in the .bx
          The segment and offset passed in the .dx and .bx registers is a
          pointer to a structure called DECTALK_CHAR_BUFF found in the
          DTTSR.H file. It contains a count and a pointer to the actual
          buffer (256 words maximum).

          GET_BUFF                        0x0b
          Get a character buffer. Get a buffer of information. Assumes a
          fixed buffer size of 256.   You segment address is in the .dx
          and the offset address  is in the .bx. The segment and offset
          passed in the .dx and .bx registers is a pointer to a structure
          called DECTALK_CHAR_BUFF found in the  DTTSR.H file. It contains
          a count and a pointer to the actual buffer (256 words maximum).



          reserved                        0x0c
          reserved                        0x0d
          reserved                        0x0e
          reserved                        0x0f
          reserved                        0x10
          reserved                        0x11
          reserved                        0x12
          reserved                        0x13
          reserved                        0x14


          PAUSE_OUTPUT                            0x15
                           Pause output.

          RESUME_OUTPUT                           0x16
                           Resume talking after a pause.

          FLUSH_TEXT                      0x17








          Flush pending text. This is an asynchronous flush and cannot
          guarantee to flush every character in process, if sending
          buffers. This will always work, however, if a flush is also then
          inserted in the text stream. The stream flush is recommended
          when it can be used. This is provided so that if the Dectalk PC
          is I/O bound with large text buffers, it can be flushed quickly,
          asynchoronously to the text stream.  (See [:flush all] command
          below).

          DIGITIZED_MODE          0x18

                  Put DECtalk into digitized speech mode.

          TEXT_MODE               0x19
                  Put DECtalk into text-to-speech mode.

          DIGITIZED_DATA          0x1a

                  Play digitized data. The segment of the data block
          pointer (which contains tha adrress of the buffer and the count) is in
          the dx and the offset is in the ax.

          FLUSH_SPEECH                    0x1b
          Flush speech but process all commands until an [:enable] is
          seen. Then start speaking again. This command is slower
          than the flush_text command.



          SPEECH CONTROL

          There are three ways to control speech.

                  1.  Through English text (sentences in standard English
          format and spelling).      DECtalk PC
          speaks this text as  written. Chapter 4 discusses
          this in more detail.
                  2.  Through phonemic spelling (sentences or phrases
          written in phonemic symbols). Phonemic
          spelling is closer to the  actual pronunciation
          of the text. Phonemic spelling is always enclosed in square
          brackets,  e.g., If you were to phonemicize
          the sentence This is an example of phonemic
          spelling, it would look like this:  [dh'ihs ihz  axn
          ixgz'aempel axv  faxn'iymixk sp'ehlixnx]. Chapter 5 discusses
          this in more detail.

                  3.  Through special  commands. Commands control features
          of speech that are not  obvious from the








          visible  text, such as  sex of the speaker,
          and  excitement level.  Appendix D of the Technical
          Reference Manual discusses this in more detail.

          Voice Control Commands.
          DECtalk PC supports DECtalk DTC01 voice control commands such as
          phonemic text, change of voices, speaking rates and the like.

          Note: DECtalk PC  supports only multi-character (Arpabet)
          phonemic mode.
          A simpler user interface command set has been written to allow
          software developers more flexibility in manipulating the various
          parameters of DECtalk speech. These commands allow for such
          functions as select voices, select speaking speeds, stop
          speaking, generate tones and so on.  These  perform the same
          functions as the escape sequences used in DTC01 wherever those
          functions existed.

          There are a number of new features offered by DECtalk PC:
                  o Nine predefined voices (four male, four female and one
                    child).

                  o Definable voice
                  o Speaking rates from 120 wpm to 550 wpm

                  o Ability to say letters, words or phrases
                  o Pause,  Continue and Stop speaking control

                  o More accurate letter-to-sound pronunciation rules
                  o Large internal (fixed) dictionary

                  o Expanded developer-definable dictionary
                  o Punctuation control for pauses, pitch and stress

                  o Output volume control


          DECTALK PC SPEECH FUNCTIONALITY COMMAND SET.

          The following is an alphabetized list of commands for DECtalk
          PC. Each entry consists of (a)   Function:  what the command is
          supposed to accomplish; (b)   Command: the text you type in to
          tell DECtalk PC what to do. All short commands beginn with a
          '[:" and end with a ']".  Any unique substring of the command is
          valid, e.g., [:ra 180] is equivalent to [:rate 180], {;co is
          sufficient for [:comma pause], and so on.  (c) Escape Value: the
          escape value for the command. (Escape sequences used on previous
          versions of DECtalk may still be used in compatibility mode);
          (d)  Options:   The options which you may choose from; (e)
          Parameters:  the required parameters for those options; (f)
          Default; (g) Examples: (h) Description: a non-formal description
          of what the command does along with  examples where pertinent.








          Note: Commands are synchronous unless otherwise stated. Also,
          the use of several commands may interact with each other and
          effect the output.

          Note; If an incorrect syntax is sent in a command, the closing
          bracket may be ignored as it might be considered part of the
          illegal string.  To recover from this situation, you will need
          to send an extra "]" to the parser. To help avoid this
          situation,  set the [: error command on.


          FUNCTION:                               COMMA PAUSE

          COMMAND:                                [:comma DD]

          ESCAPE VALUE:                           202
          OPTIONS:                                None

          PARAMETERS:                             Pause time in
          milliseconds
          DEFAULT:                                160 ms.

          EXAMPLES:                               [:comma 250]
                                                  ESC P0 ; 202 ; 250 z

          DESCRIPTION:
          Comma pause may be incremented and decremented. [:cp 0] resets
          the comma pause to its default state (approximately 160 ms.)
          Comma pauses can be incremented by 30000ms and decremented by
          -40 ms.) All  values outside legal range will default to the
          nearest legal values.

          __________________________________________________________________


          FUNCTION:                               DEFINE VOICE
          COMMAND:                                [:define  XX DD]

                                                  [:dv XX DD]
          OPTIONS:                                N/A

          PARAMETERS:                             N/A

          ESCAPE VALUE:                           N/A

          DEFAULT:                                Parameters for Paul
          Voice
          EXAMPLES:

          [:define voice ap 120]
          DESCRIPTION:

          This command allow the user to set speech parameters such as
          pitch range, (for a greater excitement level) head size (for a
          deeper voice) and the like. XX is a mnemonic which stands for an








          acoustic parameter. DD is some decimal value of the parameter.
          See Appendix D for a list of these parameters. For example, to
          change the average pitch to 120, type [:dv ap 120]. To save
          these parameters to the variable val voice, you may use the [:dv
          save] command.  Then, when you type [:nv] or [:name val] these
          parameters will be saved.

          Note: You should leave a space between the parameter name and
          the value. Thus, to set the pitch range to 0, type [:dv pr 0]
          and not [:dv pr0].
          __________________________________________________________________

          FUNCTION:                               DIGITIZED SPEECH
          COMMAND:                                [:digitized]

          OPTIONS:                                None
          PARAMETERS:                             None


          ESCAPE VALUE:                           800


          DESCRIPTION:
          Used to synchronize digitized data with the text stream.

          __________________________________________________________________
          FUNCTION:                               DIAL TONES

          COMMAND:                                [:dial 'X"]

          ESCAPE VALUE:                           400

          OPTIONS:                                None

          PARAMETERS:
          String of dial characters (0-9, A,B,C,D,#,*,(comma)) bounded by
          quotation marks

          DEFAULT:                                None

          EXAMPLES:                               [:dial "508-555-1212"]

                                                  ESC P 0 ; 400 ; 101 z
          This command generates tones called Dual Tone Multiple Frequency
          (DTMF) Tones or Touch-Tonestm. The tones are the touch-tones for
          0-9, *, #, "," (comma) and A, B, C, D (in uppercase onl;y) for
          handsets which contains these. The comma can be used to generate
          a 2-second  pause. These tones can be used to dial a telephone.
          Quotation marks are required around the digits      and d ashes
          should be used where appropriate in telephone numbers. The dial
          tone command is asynchronous.

          __________________________________________________________________


          FUNCTION:                               ENABLE
          COMMAND:                                [:enable]








          ESCAPE VALUE:                           14

          OPTION:                                 None

          PARAMETERS                              None

          DEFAULT:                                On
          DESCRIPTION:

          Enables speaking after a selective text flush. THis command is
          needed only after a flush text or if a TSR call of flush_speech
          is used.
          __________________________________________________________________


          FUNCTION:                               ERROR

          COMMAND:                                [:error X]
          ESCAPE VALUE:                           300

          OPTIONS:
          Ignore (0):                             Ignore all errors

          Text (1):               Send errors back as text strings of the
          form: [:error <type>]
          Escape (2):     Send errors back as escape sequences of the
                          form: ESC P 0 ; 300 ; <error code>

          Speak (3):      Speak error string in current voice, rate, etc.
          Tone (4):       Generate error tone.

          PARAMETERS:                             None
          DEFAULT:                                Off


          DESCRIPTION:

          This command sets the error mode for the module. This command is
          useful for debugging in an application development setting.

          FUNCTION:                               FLUSH

          COMMAND:                                [:flush]

          ESCAPE VALUE:                           10
          
          OPTIONS:

          All (0):  Flush all text. (see flush_text above)
          Until (1): Flush until the specified index mark is found.

          Mask (2): Flush until mask and index bit coincide.








          After (3): Flush all text after index mark.

          Speech (4): Flush all speaking but continues to process
          commands. This mode is ended by the enable
          command.
          PARAMETERS:                   Index mark value or mask value

          DEFAULT:                      None

          EXAMPLES:                     [:flush after 193]
                                        ESC P 0 ; 10 ; 3 ; 193 z
          DESCRIPTION:

          This  command allows speech to be discarded. All pending but
          unspoken text is lost, including index markers that may have
          been sent by the PC. This  command stops speech, even if DECtalk
          PC is  in the middle of a sentence. Any pending but unspoken
          text is lost, including index markers that may have been sent by
          the PC.  Speech stops and all internal buffers are
          reinitialized. The flush command is asnychronous.
          __________________________________________________________________

          FUNCTION:                               INDEX

          COMMAND:                                [:index XX DD]

          ESCAPE VALUE:
          Index Mark (20)

          Index Reply (21)
          Index Query (22)

          OPTIONS:
          Mark:   Insert mark into text and current position.

          Reply:  Insert mark and reply when encountered.
          Query:  Respond with last encountered remark.

          PARAMETERS:                             Index Mark Value
                                                  Index Reply Value

                                                  Index Query Value
          DEFAULT:                                None

          EXAMPLES:                               [:index reply 123]
                                                  ESC P 0 ; 21 ; 123 z


          Text sent to DECtalk PC can contain index marks. DECtalk PC
          remembers  these marks when they are spoken. The application can
          listen  to the spoken text (by reading the value of the last








          index) to  determine how much transmitted text was actually
          spoken. Index  markers are truly marks; they do not modify
          heuristics or word pronunciations in any way.  The mark sequence
          inserts an index marker (flag) in the text  stream sent to
          DECtalk PC. Mark simply marks a position in the text. Reply
          marks  a position, but also has DECtalk PC inform the PC  when
          the  index is spoken. When DECtalk PC speaks the reply sequence,
          it sends a reply    to the  PC.  Note: The Index Reply will
          always be the same number as the Index.   Index Query requests
          DECtalk PC to reply to the  PC with  the last index marker
          spoken (that is, the last portion of spoken  text that had an
          index marker).  It will send back [:index xxx].

          __________________________________________________________________


          FUNCTION:                     LOG

          COMMAND:                      [:log XX YY]

          ESCAPE VALUE:                 81

          OPTIONS:

          On (0):                       Absolute
          Off (1):                      Enable mode
          Set  (2):                     Disable mode
          Text: (3):                    Log all text except escape sequences

          Phonemes: (4):                Log converted phonemic text

          PARAMETERS:                   None

          DEFAULT:                      Off

          EXAMPLES:                     [:log text on]

                                        ESC P 0 ; 81 ; 1 z
          DESCRIPTION:

          This commmand sets text logging modes for the module. The log
          command controls DECtalk PC logging of input text. This  command
          allows DECtalk PC to send the phonemes corresponding to the
          input text back to the  PC. The PC must be prepared to receive
          the characters when  they are sent, or they will be lost
          __________________________________________________________________

          FUNCTION:                               MODES

          COMMAND:                                [:mode XX YY]

          ESCAPE VALUE:                           80

          OPTIONS:

          On (0):                                 Absolute.
          Off (1):                                Enable mode








          Set: (2):       Disable mode
          Math (4)        Change interpretation of selected symbols
          Europe (8):     Select European monetary pronunciation
          Spell (16):     Spell all words
          Name (64)       Pronounce all proper names (see also [:pronounce
                          name])

          Homograph (128) Reserved for Future Use

          PARAMETERS:     None

          DEFAULT:        Off

          EXAMPLES:       [:mode spell on]
                          ESC P 0 ; 80 : 20 z


          When mode is set to    Europe, "," is a separator between the
          integer and fraction part  of a number and "."  is a separator
          between 3-digit  blocks. Ex: 1.255 (US) = 1,255 (Europe);
          125,873 (US) = 125.873 (Europe).  1 = set; 2 = clear.       Math
          takes ambiguous characters and pronounces them with mathematical
          meanings. Specifically, the following characters are treated
          differently:


                  Character       Clear          Set
                  +               plus            (no change)

                  -               dash            minus
                  *               asterisk        multiplied  by

                  /               slash           divided by
                  xxE-xx          (spelled)       (scientific notation)

                  ^               carat           to the power of
                  <               left angle bracket     less than

                  >               right angle bracket    greater  than
                  =               equals          (no change)

                  %               percent         (no change)
                  .               period          point


          Mode name allows uppercase words which occur in non sentence
          initial position to be interpreted as special cases and
          pronounced as names.

          Note: Do not enable Mode Name except when pronouncing lists of








          names only. Mode Name will interpret any uppercase word as a
          name. When finished, make sure that this mode is set to OFF.
          For the occasional use of this utility,  use the [:pronounce
          name] command (below).

          Mode commands are asynchronous.


          __________________________________________________________________
          FUNCTION:                            PAUSE

          COMMAND:                             [:pause DDD]

          ESCAPE VALUE:                        12

          OPTIONS:                              None

          PARAMETERS:                           Pause time in hundreths of a 
                                                seconds; 0 = forever.

          DEFAULT:                              N/A

          EXAMPLES:                             [:pause 200]
                                                ESC P 0 ; 12 ; 200 z

          DESCRIPTION:
          This  command pauses the audio output of the module. Any pending
          but unspoken text is retained, including index markers that may
          have been sent by the PC.  The user now has the option of
          flushing all text or resuming speech where it was left








          off. DECtalk will not speak until such a command is given. The
          pause command is asynchronous.

          __________________________________________________________________
          FUNCTION:                               PERIOD PAUSE

          COMMAND:                                [:period  DD]
          ESCAPE VALUE:                           203

          OPTIONS:                                None
          PARAMETERS:                             Pause time in
          milliseconds

          DEFAULT:                                640 ms.
          EXAMPLES:                               [:period 250]

                                                  ESC P 0 ; 203 ; 250 z
          DESCRIPTION:

          Period pause may be incremented and decremented. [:pp 0] resets
          the period pause to its default state (approximately 540 ms.)
          Period pauses can be incremented by 30000ms and decremented by
          -380 ms.) All  values outside legal range will default to the
          nearest legal values.
          __________________________________________________________________

          FUNCTION:                       PHONEME INTERPRETATION
          COMMAND:                        [:phoneme (parameters)]


          ESCAPE VALUE:                   600

          OPTIONS:

          On (0):         Set phonemic interpretation on
          Off: (1):       Set phonemic interpretation off
          Asky (2)        Reserved for Future Use
          Arpabet (3):    Set phonemic interpretation to arpabet phonemic
                          alphabet
          Speak (4):      Speak encountered phonemes
          Silent (5):     Do not speak encountered phonemes

          PARAMETERS:                             None

          DEFAULT:                                Off

          EXAMPLES:                               [:phoneme arpabet speak
          on]
          DESCRIPTION: When set, this command allows everything within
          square brackets to be interpreted as phonemic text. When
          phonemicizing text, simply put legal phoneme strings in square








          brackets. This will allow for the preferred pronunciation of a
          word or phrase.   This is an extremely  important function since
          it sets the characters "["  and "]" as phoneme delimiters. This
          means that when this command is set, all text and characters
          which appear between square brackets will be interpreted as
          phonemic text and will be pronounced as such. This is useful if
          you do not wish to turn this on but wish to have something  read
          phonetically. For example, to say the word red, simply embed the
          phonemic string [r'ehd] in the   Default for this mode is OFF.

          Note: It  is important to make sure that you close square
          brackets after phonemic text when this command is set.
          Otherwise, if normal text appears in square brackets, speech
          will sound garbled. Also, in previous versions of DECtalk,
          square brackets were nested. This is no longer the case. One
          square bracket is sufficient to close phonemic mode. It is
          sometimes useful to  begin a  text file with a closed square
          bracket ("]") to ensure that text will not be interpreted
          phonemically. Also, the command sequence  consisting of an open
          square bracket folowed by a colon ("[:") is always interpreted
          as the beginning of a voice command and cannot be interpreted
          literally.  Default for phonemic mode is OFF and it must be
          turned on by a special command.
          __________________________________________________________________


          FUNCTION:                               PRONOUNCE NAME

          COMMAND:                                [:pronounce name]
          ESCAPE VALUE:

          OPTIONS:                                None

          PARAMETERS:                             None

          DEFAULT:                                Off

          EXAMPLES:                               [:pron name] (proper name)

          DESCRIPTION:
          This command takes the immediately following word and pronounces
          it as if it were a proper name.  First names, last names, street
          names and place names are all examples of proper names. This
          command can be used when DECtalk PC mispronounces a proper noun.
          See Mode Name to set this automatically.

          Note: This command must be used each time a new name is
          encountered but is useful when the location of a name field is
          known.


          __________________________________________________________________








          FUNCTION:                               PUNCTUATION

          COMMANDS:                               [:punct XX]

          ESCAPE VALUE:                           204

          OPTIONS:
          None (0):       No puncuation spoken; all punctuation treated as
                          text breaks

          Some (1):       Standard DECtalk punctuation pronunciation

          All (2):        All  punctuation is spoken.

          PARAMETERS:                             None

          DEFAULT:                                [:punc some]

          EXAMPLES:                               [:punc none]
                                                  ESC P 0 ; 204 ; 0 z
          DESCRIPTION:

          There are three modes of punctuation pronunciation. (1) No
          punctuation is spoken; (2) only non clause-final puncuation is
          spoken; (3) all punctuation is spoken. The last function may be
          useful in proofreading as well as in those applications when
          special characters are encountered as in computer programs and
          the like. The default is that no punctuation is spoken.
          Note: When the [:punc none] command is used, no punctuation will
          be pronounced. This will affect dollar amounts and similar
          sequences normally processed by special rules.


          ----------------------------------------------------------------------

          FUNCTION:                               RATE SELECTION

          COMMAND:                                [:rate dd]

          ESCAPE VALUE                            200

          OPTIONS:                                None

          PARAMETERS:                             Rate in words per minute

          DEFAULT:                                180 wpm

          EXAMPLES:
          [:rate 400]

          ESC P 0; 200 : 400 z

          DESCRIPTION:

          The speaking rate in DECtalk can be selected from 120 words per
          minute at the slowest end to 550 words per minute at the fastest
          end. In the command [:raDDD] D is a decimal number from 0 to 9.
          All values outside the range of 120-550 will default to the
          nearest legal value. Therefore, if you select a speaking rate of
          [:ra880] or 880 words per minute, it will default to the nearest








          legal value or 550 words per minute.

          ______________________________________________________________________


          FUNCTION:                             SAY MODE

          COMMAND:                              [:say X]

          ESCAPE VALUE:                         82
          OPTIONS:

          Clause (0)::                          Speak on end of clause
          Word (1):                             Speak on end of word
          Letter (2):                            Speak on end of letter
          Line (3):                             Speak on end of line

          PARAMETERS:                           None

          DEFAULT:                              [:say clause]

          EXAMPLES:                             [:say word]
                                                ESC P 0 ; 82 ; 1 z

          DESCRIPTION:
          In DECtalk PC, each clause, word or letter can be spoken as
          entered.  In word and letter mode, DECtalk does not need to wait
          for a clause terminator to begin speaking.  This command
          interacts with the speaking rate command so that you can set
          both speaking rate and speak word or letter mode for the optimal
          output. Word mode acts like letter mode except text is spoken a
          word at a time.  A white space or equivalent after a character
          or string of characters causes that string to be spoken.  This
          mode interacts with speaking rate such that you can increase or
          decrease the rate at which letters or words are spoken. For
          example, for rapid feedback of what is being typed, try letter
          mode with a rate of 400 wpm.  In clause mode, speaking starts
          when the PC is sent a clause terminator (period, comma, exclamation
          point, or question mark) followed by a white space. There is no
          time- out limit.  This is the normal mode where text is spoken a
          phrase, clause, or sentence at a time. This mode is the default
          mode. Say line CR or LF to a CRTL K

          Note: In [:say letter] mode, the "[" character will be spoken
          only after the next character is typed since DECtalk needs to
          know whether or not this is the beginning of a new command.
          __________________________________________________________________


          FUNCTION:                               RESUME

          COMMAND:                                [:resume]

          ESCAPE VALUE:                           13








          OPTIONS:                                None

          PARAMETERS:                             None
          DEFAULT:                                N/A

          EXAMPLES:                               [:resume]
                                                  ESC p 0 ; 13 z

          DESCRIPTION:
          This  command allows speech to be resumed where pause  left off.
          Any pending but unspoken text is retained, including index
          markers that may have been sent by the PC.  This command is
          asynchronous

          __________________________________________________________________


          FUNCTION:                               SYNCHRONIZATION

          COMMAND:                                [:sync]

          ESCAPE VALUE:                           11

          OPTIONS:                                None

          PARAMETERS:                             None

          DEFAULT:                                N/A

          EXAMPLES:                               [:sync]
                                                  ESC P 0 ; 11 z

          DESCRIPTION:
          The application program can send data to DECtalk PC faster than
          DECtalk PC can speak it. If the user must carry on a dialogue
          with  the application program,  the  application program should
          know whether DECtalk PC has finished  speaking the text sent to
          it. SYNC provides this coordination  between the application program
          and DECtalk PC speech. When the PC sends SYNC, DECtalk PC
          finishes speaking  any pending text before processing the next
          command from the host  computer. Therefore, the user hears a
          message before any other  action starts.  Note that SYNC acts as
          a clause  boundary, the same as a comma, period, exclamation
          point, or  question mark. SYNC does not reply to the host
          computer when processing is  complete. However, you can arrange
          to get a reply by following the  DT_SYNC command with a
          DT_INDEX_QUERY command.
          __________________________________________________________________


          FUNCTION:                               TIMEOUT

          COMMAND:                                [:timeout D]

          OPTIONS:                                None

          PARAMETERS:                             Timeout in seconds








          DEFAULT:                                5 seconds

          EXAMPLES:                               [:timeout 4]
                                                  ESC P 0 ; 402 ; 4 z

          DESCRIPTION:
          This command sets the buffer flush timeout value. See Flush.

          ______________________________________________________________________


          FUNCTION:                               TONE
          COMMAND:                                [:tone DD, DD]

          ESCAPE VALUE:                           401
          OPTIONS:                                None

          PARAMETERS:
          Frequency:                    Tone Frequency in Hertz

          Duration:                     Tone Duration in milliseconds

          EXAMPLES:                     [:tone 500,500]

                                        ESC P 0 ; 401 ; 500 ; 500 z
          DESCRIPTION:

          This command generates sounds of different frquencies and
          lengths depending upon the parameters you set. This command
          allows you to make a wide variety of sounds for purposes such as
          notification, warning, and so on. Regular tones can also be used
          for a number of other purposes such as indications of margin
          bell, etc.  for screen reading applications. This may be useful
          when someone wishes to work in a quiet environment without using
          the speaker integral to the PC.
          __________________________________________________________________


          FUNCTION:                               VOICE SELECTION

          COMMAND:                                [:name X]
                                                  [:nX]

          ESCAPE VALUE:                           200
          OPTIONS:

          PAUL (0), BETTY (1), HARRY (2), FRANK (3), DENNIS (4), KIT (5),
          URSULA (6) , RITA (7), WENDY (8),  VAL (9).
          PARAMETERS:                             None

          DEFAULT:                                Paul voice
          








          EXAMPLES:                               [:name paul]
                                                  [:np]
                                                  ESC P 0 ; 200 ; 0 z

          DESCRIPTION:

          [:name X] is a command which allows voices to be changed to one
          of 9 hard- coded voices or to a special definable voice. X
          represents the mnemonic for one  of the voices: P = Paul, H =
          Harry, F = Frank, D = Dennis, B = Betty, U = Ursula, R = Rita, W
          = Wendy, K = Kit. and V = Val.  The default voice is Paul. The
          parameters of any one voice may be changed by the define voice
          [:dv] command.

          __________________________________________________________________


          FUNCTION:                               VOLUME
          COMMANDS:                               [:volume XX DD]

          ESCAPE VALUE:
          100: Volume Set
          101: Volume Up
          102:  Volume Down

          OPTIONS:
          Set:                  Set the volume to the desired level
          Up:                   Increase the volume by the desired amount
          Down:                 Decrease the volume by the desired amount

          PARAMETERS:           Volume or delta volume

          DEFAULT:              5

          EXAMPLES              [:volume up 3]
                                ESC p 0 ; 101 ; 3 z

          DESCRIPTION:
          Volume in DECtalk PC can be controlled by a manual volume
          control on the speaker or by a software-controlled volume
          setting on the PC board. The commands control the setting on the
          PC board. It sets the speaker volume in increments from 0 to 99.
          Increments or decrements of 10 to 20 will provide for a perceptual
          increase or descrease in volume.  The default volume level is 5.
          [:volume set] is an absolute command; [volume up] and [volume
          down] are relative commands and increment or decrement the
          original value. The volume command is asynchronous.

          Note; It is not recommended that the normal operation be above a
          setting of 95. This would be excessively loud and also an
          overload condition could result. No damage will occur but the
          unit could go into overload protection mode. The audio output








          contains self-protection circuitry which guards against shorts
          or overloads. This will result in reduction or cessation of
          output and may take several seconds to recover after the short
          or excessive overload is encountered. This operation is normal.

          Note: The command [:lo] used in earlier versions of DECtalk is
          no longer used and has been replaced by the G5 parameter used
          with [:define voice]. To adjust the volume on DECtalk PC other
          than using the volume control knob on the speaker, it is
          recommended that you use the [:volume ...] command.


          DECtalk PC has a great deal of added functionality. It is
          because of this that different commands may occasionally
          interact to produce unexpected results. For example, stting the
          [:punctuation none] commnand will disable all non- alphanumeric
          characters and therefore sequecnes such as $3.25 will not be pronounce
          correctly. Therefore, it will be necessary to remember whch
          commands have been enabled and make modifications accordingly.
